Method and apparatus for processing a conditional access program guide as for a satellite TV service

ABSTRACT

In an audio/video transmission system, a method of forming program guide information conducive to selective display at respective receivers includes arranging program guide information in different data blocks according to types of guide information. One such data block contains channel information (CSSM i ) describing the respective channels. Respective CSSM i  in this block include a channel information customer service system byte (CI --  CSS) which contains conditional access information related to a channel associated with a CSSM i . In a receiver embodiment, a subscriber specific byte (CA --  CSS) is stored and accessible to program guide processing apparatus. Prior to displaying received program guide information for a particular channel, the subscriber byte CA --  CSS is compared with the channel information byte CI --  CSS in the program guide. Dependent upon the results of the comparison, the guide data for that particular channel is either displayed or not displayed in the program guide.

This invention relates to the formation, transmission and processing ofa television program guide as for a broadcast television service.

BACKGROUND OF THE INVENTION

A direct broadcast satellite system has been proposed which willtransmit compressed television and other ancillary signals in compressedand packeted form. The system has a potential of transmitting hundredsof programs. Each program may include a number of services. A service isdefined herein as a program component, such as a video signal, or anaudio signal, or a closed caption signal, or data, etc. The data mayinclude executable computer files or programs for use by appropriatereceivers. Each service of each program is identified by a uniqueservice identifier (SCID). Thus if a program includes four servicecomponents, the program will be assigned four SCIDs. The information forrespective services will be transmitted in packets of predeterminedamounts of data (for example 130 bytes) and each packet of informationwill include a SCID identifier corresponding to the service.

A plurality of programs, for example six to eight, may be transmitted intime division multiplexed form (on a packet basis) on a single carrierfrequency. To provide, e.g. 160 programs, the system will transmit on 20to 28 carriers.

In order to receive a particular program, a receiver must be tuned to aparticular carrier, and programmed to select or demultiplex signalpackets associated with the desired program. Information associating theservice components (SCIDs) with a particular program are contained in aprogram guide, which is itself a program that is transmitted. Because ofthe large number of programs and the consequential larger number ofservices, the programming information associating programs with servicesis ever changing, and must be continually updated.

The program guide includes information used by respective receivers toassociate transmitted time division multiplexed service packets withprograms desired to be viewed. The program guide is a program which isassigned a particular SCID that a receiver will automatically select onstart up to load the program guide data in memory. The receiver willinclude a microprocessor, which is responsive to programming commands,to scan the stored program guide and determine the carrier on which adesired program is transmitted and the SCIDs associated with the desiredprogram's service components. Thereafter the receiver tuner will betuned to the appropriate carrier frequency and packet selectionapparatus will route the selected service component packets tocorresponding signal processing apparatus.

The program guide information that has been discussed thus far is onlymachine usable, that is, the SCID information is useful to a receiverapparatus but not of interest to the user. Information of interest tothe respective user is the schedule of programs, the times of broadcast,the cost of pay per view programs, what movies or sporting events willbe shown, etc. All of this data may also be included in the programguide and arranged in a form conducive to display and perusal. Thedisplay and perusal may be performed by conventional menu programmingusing the receiver On Screen Display apparatus.

Program guide information is segmented into a master guide which istransmitted on substantially all carriers and special guides which aretransmitted on only one carrier. The master guide includes limitedprogram information related to the next several viewing hours. Thespecial guides may include comprehensive programming information for anextended period such as a month.

Various program providers may rent space on the broadcast system. Accessto program material provided by the various providers may be bysubscription. For user convenience, and also to conserve systembandwidth, it is desirable to include programming information for allproviders in one program guide. On the other hand, it may be bothersome,for users not subscribing to particular program providers or toparticular services available from respective providers, to have to wadethrough program guide information for which the user has not subscribed.Therefore, a subscriber specific mechanism for precluding display ofparticular program guide information is desirable.

SUMMARY OF THE INVENTION

The present invention includes a method of forming program guideinformation conducive to selective display at respective receivers.Program guide information is arranged in different data blocks accordingto types of guide information. One such data block contains channelinformation (CSSM_(i)) describing the respective channels. RespectiveCSSM_(i) in this block include a channel information customer servicesystem byte (CI₋₋ CSS) which contains conditional access informationrelated to a channel associated with a CSSM_(i).

In a receiver embodiment, a subscriber specific byte (CA₋₋ CSS) isstored and accessible to program guide processing apparatus. Prior todisplaying received program guide information for a particular channel,the subscriber byte CA₋₋ CSS is compared with the channel informationbyte CI₋₋ CSS in the program guide. Dependent upon the results of thecomparison, the guide data for that particular channel is eitherdisplayed or not displayed in the program guide.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will be described with reference to the attached FIGURESwherein:

FIG. 1 is a pictorial diagram of a satellite transmission system;

FIG. 2 is a block diagram of one of the transmission elementsillustrated in FIG. 1;

FIG. 3 is a pictorial diagram describing the general format of signalpackets in which program component service data is transmitted;

FIG. 4 is a block diagram of a portion of a receiver apparatus embodyingthe present invention; and

FIG. 5 is a block diagram showing the interfacing between the μPC andthe video decompression apparatus of FIG. 4.

FIG. 6 is a schematic diagram of conditional access comparisoncircuitry.

DETAILED DESCRIPTION

The present invention will be described in the environment of a directbroadcast satellite system, DBS; however, it will readily be appreciatedthat its use is not limited to this environment. The invention is atleast applicable, in general, to a broad range of time divisionmultiplexed television broadcast systems such as packet cable and highdefinition television systems for example.

Referring to FIG. 1, a DBS system includes a satellite containing anumber of transponders. Respective transponders relay informationbetween an earth bound transmitter and an earth bound receiver (e.g. ina home). Each transponder responds to signal transmitted on an exclusivecarrier frequency.

The system may include a plurality of transmitters, (transmitters #1 toN) one for each transponder. The transmitters respectively transmitdifferent program material such that the combination of transmittersprovide a wide variety of television viewing material. The systemincludes a scheduler to coordinate program material amongst therespective transmitters.

FIG. 2 illustrates an exemplary transmitter of FIG. 1. In the presentexemplary system, each transmitter is in actuality a plurality ofprogram generating organizations and/or equipment. Theseorganizations/equipment are illustrated as studios, (STUDIOS 1 to K)each of which is capable of providing a packet audio/video/data (AVD)program. (U.S. Pat. No. 5,168,356 by Acampora et al. describes apparatusfor generating packet audio/video programs.) The respective audio orvideo or data component of each program is a packet signal identifiedwith an exclusive service channel identifier, SCID. Packets of therespective component packet signals are time division multiplexed in aprogram multiplexer (not shown) to form the respective AVD signalprovided by one of the studios. The packet programs provided by thestudios are time division multiplexed in a channel multiplexer (MUX).The output of the channel multiplexer is then modulated on an assignedtransponder carrier frequency. The program multiplexing apparatus and/orthe modulator may include forward error correction, FEC, apparatus forgenerating error parity bytes and for interleaving portions of thesignal to effect a degree of error immunity during the transmissionprocess.

The scheduler of FIG. 2, which corresponds to the scheduler of FIG. 1,is an information management system including human intervention. Thescheduler may include the system business office. Each of thetransmitters may include a subscheduler which is responsive to thescheduler and communicates therewith. The scheduler assigns channelspace and SCIDs to the subschedulers which in turn assign SCIDs toprogram components and generate corresponding program guide information.This program guide information is communicated to the scheduler forformation of the actual program guide. The scheduler may also assignSCIDs to program components on particular transmitters, and generates apacket program guide for transmission. The scheduler maintains a runningdata base of all system programming for an extended period of time. TheSCIDs of respective programs are associated with program names. Inaddition, the respective program names are associated with receptiontimes and may be tagged with "type" codes for search purposes. Forexample, movies may be tagged with a movie code, sports programs with asports code, soap operas with a soap code, horse operas with anothercode, etc. In addition, the respective program types may be categorizedinto subsets of the primary types such as movies being classified asthrillers, horror, comedies, etc., and the sports category classifiedinto professional and amateur, for example.

An example of the types of information that may be maintained inrespective records of the scheduler data base is shown in TABLE I. Theexemplary record shown is for the 2-hour movie, Bambi, to be aired 27Apr. 1994 at 7:30 PM. The database may also include common systemmessages to be transmitted to current subscribers.

                  TABLE I                                                         ______________________________________                                        No.  ITEM      DESCRIPTION                                                    ______________________________________                                        1    year      1994                                                           2    month     04                                                             3    date      27 Wed.                                                        4    times     start 7:30P; end 9:30P                                         5    channel   SHO                                                            6    PPV       yes/no                                                         7    closed cap.                                                                             yes/no                                                         8    provider  studio xyz                                                     9    SCIDs     video-xxx..xx; audio-xxx..xx; data-xxx..xx; etc.               10   prog. name                                                                              BAMBI                                                          11   description                                                                             Disney movie released year ... etc.                            12   class     (audio/video/data)                                             13   subclass 1                                                                              movie                                                          14   subclass 2                                                                              (rating)                                                       15   subclass 3                                                                              (children/western/SciFi/                                                      romance/nature/.etc.)                                          16   billing info                                                                            ???                                                            ______________________________________                                    

The scheduler scans the data base periodically and generates a masterprogram guide. This master program guide is an arrangement of asimplified portion of the programming information relevant to programswhich will be transmitted within the subsequent few hours. Items fromthe data base which may be included in the master guide are items 4through 15 for the current day spanning a period of several hours andincluding all programs in progress. The arrangement is in a data fileformat which comports with receiver microprocessor (μPC) programming tocondition the data for display as a menu programming guide, and toidentify service component packets of programs selected for viewing.

Even though the data will, in part, be displayed on the televisionscreen, it is not in compressed video format, because text is notparticularly conducive to MPEG compression, and text in MPEG compressedform is not conducive to μPC manipulation. The master program guide is adata file which is packeted in a similar manner as the other programservice components and assigned a specific predetermined SCID such as000000000001.

FIG. 3 illustrates an exemplary packet format. Each packet includes aprefix which is of the same form for all service types. The exemplaryprefix includes a one bit priority field P; a one bit boundary field BB, which indicates boundaries between significant signal changes; a onebit field, CF, which indicates if the payload is scrambled; a one bitfield, CS, which indicates the one of two scramble keys that is to beused to unscramble a payload; and a twelve bit SCID. Following theprefix is a service header which is service specific. The service headerincludes a four bit continuity count value CC. The continuity count isservice specific, with the count value in successive packets beingsuccessively incremented by one unit, modulo 16. For a video service thecount values are followed by a four bit field, HD which indicate certainpayload options. The remainder of the packet is the signal payload. Thepacket may include error code parity bits appended to the end of thepayload. Such error coding may be performed over the entire packet, oronly over portions thereof.

The master program guide is sent in packet form to each of thetransmitters wherein it is time division multiplexed with the respectiveprogram packets by the channel multiplexer if there is sufficientbandwidth. In scheduling the respective transponders, the schedulerattempts to reserve space for the program guide on each transponder, sothat substantially every system transponder conveys the master programguide regularly. Since the master program guide is transmitted onsubstantially all transponders, no matter to which transponder areceiver is tuned, the user can immediately switch to the master programguide to review available programming.

The master program guide is repeatedly sent and is updated regularly,for example every 30 minutes. The repetition rate is relativelyfrequent, the goal being that a subscriber turning on his receiver canaccess a programming menu substantially immediately. This is possiblebecause the amount of data contained in the master guide is relativelylimited.

A much more comprehensive program guide, termed a special guide, is alsoformed by the scheduler, and includes all programming information for aperiod of the following thirty days, for example. This is a significantamount of data, but the system inventor decided it would benefitsubscribers to be able to schedule their viewing over longer periods(weeks or a month). The special program guide is a packet data programthat is applied to only one of the transmitters and thus is available ononly one of the transponders, albeit that the particular transponder maychange day to day or hour to hour in accordance with transmitterbandwidth availability and other scheduling requirements. The SCID ofthe special guide is variable and is assigned by the scheduler. Thelocation of the special guide is listed in the master guide along withother programming.

In a preferred embodiment, the master guide is formed as four sequentialblocks of data designated;

SEGM: APGD: CSSM1 . . . CSSMnseg: PISM1 . . . PISMnseg. The specialguide on the other hand is partitioned into a plurality of segments orportions (from 1 to 16) with an index "nseg" indicating the currentnumber of segments comprising the special guide. Each segment carriesprogram information for one or more channels, which range from 100 to999 and each special guide segment includes two sequential blocks ofdata;

CSSM1 . . . CSSMnseg: PISM1 . . . PISMnseg.

The SEGM block contained in the master guide includes information aboutthe partitioning of the channel space into segments and the number ofsegments. The block APGD contains a program guide map which indicateswhich special guide segments are active and their location (i.e., theparticular transponder carrying the segment) as well as the SCIDs ofrespective segments. The APGD contains program information relating toratings and theme, such as items 10-15 in the above data base record. Inaddition, the APGD includes a program guide map associating specialguide segments with respective names, numbers and types. The programguide map associates a PG₋₋ CSS byte or code with each guide. This codeis used to permit/preclude display of respective program guide segments.

The master guide and every special guide contain a CSSM block and a PISMblock. The CSSM block is a channel to service₋₋ id segment map. Thisincludes data describing channels (channel name, call letters, channelnumber, type, . . . ) which are in the corresponding segment. The PISMblock contains linked lists of program information (title, start time,duration, rating, category, . . . ) that are on each channel describedin the corresponding CSSM.

The program guide information may be apportioned amongst the differentones of the plurality of special guides in varying formats. That is,respective special program guides may include information from only oneof a plurality of program providers. Alternatively, information carriedon different blocks of channels may be divided amongst the plurality ofspecial program guides. For example, program guide information forchannels 100 to 300 may be allocated to special guide 1; channels 301 to500 to special guide 2; channels 501 to 700 to special guide 3; etc. Inboth of these special guide formats, each special guide may includeprogram guide viewing information for that number of days the specialguide has capacity to hold. Another alternative arrangement is thedivision of viewing times. For example, the master guide may includeprogram guide information for the next two hour interval; special guide1 may include program guide information for the following next 8 hours;special guide 2 may include program guide information for the followingnext 8 hours; special guide 3 may include program guide information forthe following next 8 hours; etc.

Included in every CSSM_(i) record is a CI₋₋ CSS byte or code. The CI₋₋CSS byte is used to permit/preclude display of respectivechannel/program information in the master or special program guides.CI₋₋ CSS and PG₋₋ CSS bytes may be program provider specific orarbitrarily assigned on a channel basis by the system manager. The PG₋₋CSS of a special program guide which is specific to a particularprovider may be assigned a provider specific code. This providerspecific code may be utilized by respective receivers to precludedisplay of this special guide to non subscribers. CI₋₋ CSS bytesassociated with channel/program information provided in program guidesmay also be provided provider specific codes such that display ofchannel information which is contained in non provider specific programguides may be precluded. (Note that the master guide may be non providerspecific.) It will be appreciated that a provider may be assigned morethan one code to allow for selective display of program guideinformation between different classes of subscribers or non subscribers.In addition, the system manager may assign a universal ₋₋ CSS codewordto permit unconditional display of program guide information. Assumethat the CI₋₋ CSS and PG₋₋ CSS bytes are eight bits. The system managermay assign the byte 00000000 to connote unconditional access. Any guideor channel assigned a CI₋₋ CSS and PG₋₋ CSS byte of 00000000 will beavailable to be viewed by all system users, whether or not they aresubscribers.

Program guide information may be divided into conditional access classesfor viewer access. In the simplest arrangement all program guide datamay be arranged in eight conditional access, CA, classes, one for eachbit of the eight bit CI₋₋ CSS and PG₋₋ CSS byte. These CA classes may beassigned on a program provider basis or according to some othercriteria.

The eight bits of the CI₋₋ CSS or PG₋₋ CSS byte represent 256 differentstates, and thus can accommodate a much larger number of CAclassifications. Nominally a broadcast system will have a relativelylimited number of program providers. Assuming that the number ofproviders is sixteen or less, the number of possible states may beallocated thusly. The four more significant bits of the CI₋₋ CSS andPG₋₋ CSS byte may identify respective program providers, and the fourleast significant bits may be assigned values at the discretion of therespective provider. In this instance each of the sixteen or lessproviders may allocate his program guide information into sixteendifferent CA display classes.

Conditional access to special guides and/or channel information iseffected at the receiver by comparing the respective CI₋₋ CSS and PG₋₋CSS bytes in the program guides with a user CA₋₋ CSS byte which definesin part the viewing entitlements of the respective user. The CA₋₋ CSSbyte is generated by a conditional access uplink system and transmittedto the respective user. The conditional access uplink system, which isan element of the scheduler, generates a user specific conditionalaccess packet when services are purchased or updated by the user. Forexample, when a subscriber telephones a program provider to requestaddition or deletion of premium channels to his subscription, theconditional access uplink system is directed by the system manager tocreate a new CA₋₋ CSS byte or bytes for that subscriber reflecting thesechanges. This new CA₋₋ CSS byte is included in a data packet which isdirected specifically to his receiver, and a conditional access smartcard system therein. The user is directed to tune to a particularchannel for a particular time interval and the packet is applied to thatchannel by the scheduler at some time during the interval as systembandwidth permits.

The time span of the programming data included in the master guide isdetermined by the amount of memory available for processing the guide inthe receiver. The exemplary system described allows for a master guideof 242 packets of 127 bytes each of data. Current data for all channelsis included in the master guide, and as much future programming data aswill fit within the 30K bytes of master guide space. This results inapproximately two hours of program viewing data.

Special guides are not limited by memory constraints, but rather bybandwidth. To minimize bandwidth demands upon the system by the specialguide, the special guide segments are arbitrarily limited to 750 packetsof 127 bytes, or approximately 95K bytes per segment and a total of 1.5Mbytes for all 16 segments.

Each special guide segment is assigned a different SCID, and differentones of the segments may be transmitted on different transponders sothat special guide data is substantially evenly distributed amongst allof the transponders.

FIG. 4 illustrates in block form, a portion of an exemplary AVDreceiver. Transmitted AVD signal is captured by an antenna 5 and coupledto a tuner-demodulator 6. The tuner is controlled by the μPC to select adesired transponder carrier frequency. The selected carrier isdemodulated and the modulating signal is output from thetuner-demodulator 6 in binary form. The modulating signal is applied toa forward error correcting circuit, FEC, 7, which corrects correctableerrors and generates an error signal for respective signal packets whichcontain non-correctable errors. The FEC provides a time divisionmultiplexed packet signal including a plurality of programs one of whichis the master program guide.

The packet stream from the FEC is applied to a transport processor 8.The transport processor includes circuit elements for selecting ones ofpackets from the multiplexed packet stream, decrypting (descrambling)appropriate packets, and separating the service payloads from selectedpackets. In the transport processor, the packet stream from the FEC isapplied to a decryptor 10 and to an SCID detector 9. At system start upand at regularly spaced intervals, the system controller or μPC 17 isprogrammed to condition the SCID detector to detect occurrences ofpackets containing the master guide SCID. On detection of master guidepackets, the SCID detector 9, conditions the memory DMA circuitry 11 tostore the master guide packet payloads in a predetermined block of arate buffer memory 15. The μPC, responsive to user commands input via auser interface 16, scans this block of memory for program data todetermine the SCIDs associated with program components of the programwhich the user wishes to view. These SCIDs are applied to the SCIDdetector 9 to condition it to select the desired program servicecomponents. The memory DMA 11, in cooperation with the transportcontroller 13 and the μPC assigns respective blocks of the rate buffermemory 15 to respective service components associated with the selectedSCIDs. As packets which contain the selected SCIDs are detected, the DMA11, loads their payloads in the corresponding memory blocks. Asrespective service component processors 21-24 need data, they request itof DMA 11 through the transport controller 13. Controller 13 arbitratesmemory access contention between read and write demands of the variouselements according to a predetermined priority to satisfy all elements.Blocks of the memory 15 that are assigned for storage of particularservice components, such as video and audio, are in effect conditionedto operate as first-in-first out memories (FIFOS), each with a storagecapacity of several packet payloads.

In this example, the transport processor includes a header and errorcode decoder 12 which is a dual purpose matched filter. In one mode itdetermines which of packets of entitlement data a particular subscriberis entitled to accept. In a second mode, the decoder 12, is programmedto search for particular start codes in payloads of video service data,for example. Detection of the desired parameters in either modecondition the memory addressing circuitry to either reset or not resetparticular memory address pointers. The transport processor alsoincludes a smart card interface. The smart card interface interfaces asmart card with the receiver system. The smart card contains aentitlement data and processor which controls access to particularprograms, maintains billing information, and in conjunction with a modemcommunicates with service providers. The smart card utilizes theentitlement data mentioned above.

The decoder 12, directs user specific packet payloads containingentitlement data to the smart card. This includes the conditional accesspacket generated by the conditional access uplink system which containsthe user specific CA₋₋ CSS byte or bytes. The CA₋₋ CSS byte or bytes isstored by the smart card apparatus for future use. The CA₋₋ CSS data maybe derived from transmitted conditional access packets, but it may alsomay be resident in the smart card when purchased by the subscriber.

The rate buffer memory 15, is multiplexed between operating as acompressed video rate buffer, a compressed audio rate buffer, masterguide storage, smart card memory, μPC working memory and μPC storage.This is only possible because the program guide is split between themaster and special guides. The master guide data is relatively small andhence consumes little memory space. The entirety of the memory 15 is notlarge enough to contain the special guide.

The master guide, once received is retained in the rate buffer memory,albeit it is periodically updated. Master guide retention allowsinstantaneous channel changes because the associated SCIDs are alwaysavailable. If the master guide were dropped after each channelselection, a delay would be incurred between channel selections whilethe master guide was reloaded.

During intervals that the special guide is to be processed, scanned,and/or manipulated, no other services will be processed, hence theentire buffer memory 15 is available for processing the special guide.Since the memory is not large enough to contain the entire special guideat one time, processing of parts of the special guide would either haveto be done iteratively or else the memory would have to be expanded. Theformer would entail too long a process to be favorably accepted byconsumers and the latter would undesirably increase the cost of theapparatus.

Video decompression requires a relatively large dedicated memory. Thememory requirements for decompression of MPEG coded signal are one frameof video display memory, two frames of storage for predictingbidirectionally coded or B frames, and further working storage forreformatting data applied to the decompressor. For decompressing 4×3aspect ratio NTSC resolution images the required memory is about16Mbits. In FIG. 4 this memory is subsumed within the video processor22, is large enough to accommodate the special guide, and is nototherwise used when the special guide is processed.

During intervals when it is desired to use the special guide, the SCIDdetector is conditioned to select special guide packets and store theirpayloads in the buffer memory 15 as though it were compressed videodata. The video processor is conditioned by the μPC to request data fromthe buffer memory block allotted the special guide SCID. This data iswritten to the video processor memory as if it were compressed videodata. In this mode, the video channel is given priority, thus thespecial guide data is stored as fast as it arrives and may be loadedrelatively rapidly.

When the special guide is transmitted as segments multiplexed amongstall channels, the microprocessor 17 must access the master guide in thebuffer memory 15 and scan the segment map and APGD data block todetermine channels and SCIDs of the respective segments. Themicroprocessor 17 is programmed to tune to the requisite channelscontaining the desired special guide segments and to condition the SCIDdetector to select the corresponding packets. Preferably all segments ona channel will be extracted before tuning another channel. It is alsopreferred that the respective channels be tuned in ascending ordescending order to minimize resynchronization time between channels.

A μPC interface is incorporated in the video processor 22 to permitreading data from the video processor memory by the μPC. The μPCcontains programs (e.g. search routines with information filters ofknown type) to permit the viewer to conveniently manipulate the specialguide data. Since all of the special guide data is concurrentlyavailable, manipulation of the data may be accomplished as fast as theviewer can change commands.

The manipulation of the special guide requires display of portions ofthe guide. The special guide data is transmitted in a data format not ascompressed or non-compressed video signal. To display special guideinformation, the μPC selects the information for display and appliesthis data to an on screen display device (OSD) 19. When the programguide is being manipulated the OSD will monopolize the entire screen forthe display of special guide text or other data and/or program commandstructure. At other times, when video is being decompressed, the OSDoperates in conventional fashion to overlay desired text material onvideo images.

FIG. 5 illustrates an exemplary video processor 22 with a μPC interfaceto allow reading of data stored in the processor memory. All of thedecompression memory is subsumed in a single memory 30 which is distinctfrom the buffer memory 15.

The video decompressor includes a FIFO 31, which has a data input buscoupled to the data output bus of the buffer memory 15 and a datarequest bus connected to the transport processor controller and a dataoutput bus coupled to an internal memory/data bus. During videodecompression operation the FIFO 31 requests data of the memory 15 asrequired for decompression. FIFO 31 accepts data as 8-bit bytes andapplies 64-bit words to the memory/data bus. As these 64-bit words arecreated they are loaded into the external DRAM 30 at addresses providedby the address generator 33. Data is also read from the DRAM 30 underthe control of the address generator 33 as required by the respectivecircuit apparatus within the decompression IC. In effect the addressgenerator 33 is a state machine, responsive to stimuli provided by therespective decompression circuits, and programmed to write and readvideo data to and from memory according to a predetermined set ofdecompression stimuli vectors.

The decompression IC includes a start code detector 32 a variable lengthdecoder, 34 and an element 35 which includes an inverse run lengthdecoder IRLD, an inverse quantizer, IQUANT, an inverse discreet cosinetransformer, IDCT, and a predictor, PREDICT. Data from the memory isshuttled to and from and between various ones of these functionalelements, in a known manner, to decompress the compressed MPEG videodata. The operations of the respective decompression functions iscoordinated by a controller 38, which in large part is also a statemachine. The controller 38 is responsive to stimuli produced by variousof the decompression elements and data received from the memory/data busvia a memory I/O unit 36. Compressed video data is in 4:2:0 format, thusraw decompressed video data is provided in 4:2:0 format. This rawdecompressed video data is applied to a display unit 37, whichinterpolates the raw video to provide a video output in 4:2:2 format.Decompression circuitry of this general form is currently available fromdifferent vendors and is not the object of this invention.

A control bus interconnects the controller 38 with all of thedecompressor functional elements including the memory I/O unit 36. A μPCinterface is also connected to the control bus, which provides a meansof communication with a μPC external to the decompressor IC. It isanticipated that some level of interactivity will be incorporated intothe transmission service, and at times this interactivity may notinvolve video. In these instances it may be desired to inhibit anyoperation of the decompressor IC, or condition it to provide apredetermined static display for example. These and other functions maybe programmed into the controller and triggered by the μPC via the μPCinterface.

To write special guide data to the DRAM 30 all that is required is thatthe decompression IC be instructed that the SCID associated with thespecial guide represents a video service. The decompression IC willaccept the special guide data as if it were compressed video and writeit to the DRAM. Normal decompression processing must be suspended topreclude decompression operations redistributing the stored specialguide information within the DRAM. Decompression suspension is effectedby the μPC when the special guide SCID is associated with the videodecompressor.

Reading of special guide data from the DRAM 30 involves suspendingnormal operation of the controller 38 via the μPC interface 39, andaccessing the DRAM 30 via the address generator 33 and the memory I/O36. One of the normal functions of the controller 38 is to apply memoryaddress start pointers to the memory address generator, to accessspecific compressed data in the DRAM, which compressed data establishesthe parameters by which decompression should be performed. This samefacility may be utilized for accessing the DRAM 30 to read special guidedata. That is, the controller is arranged to accept address pointersfrom the μP C and apply same to the address generator. In this mannerspecific memory locations of the DRAM may be addressed by the μPC. Dataread from the DRAM 30 is coupled to the control bus via the memory I/O,which converts 64-bit memory output words to e.g., 8-bit bytes. Therespective 8-bit bytes are thereafter transferred via the μPC interface39 to the μPC 17 wherein they may be used as menu program data orapplied to the rate buffer memory 15 for subsequent use. During readingof the special guide data from DRAM, the normal operation of elements32, 34, 35 and 36 may be suspended by the controller 38 responsive toμPC commands provided by the μPC interface 39.

The expanded capability of the overall system, that is, use of thededicated video compressor memory for receiving and storing the specialprogram guide, is effected with substantially no additional hardware.All that is required is a slight change in the programming of thecontroller 38 to accept read address pointers from the μPC interface,and an ability to suspend normal operations of ones of the decompressionfunctions, changes that one skilled in the video decompression circuitsart can readily make to his specific hardware/software embodiments.

The user interface 16 provides the user with a plurality of conventionaloptions/controls such as volume control, channel selection, picturebrightness control, etc. In addition, the user interface provides accessto a menu of further system functions. For example, a user remote (notshown) may include a menu button which conditions the system to display(on a kinescope not shown) a menu of the further system options whichmay be selected via movement of a cursor and pressing an enter button inknown manner. The menu includes the option of displaying the programguide. On selection of this option the μPC 17 is programmed to display afurther menu which includes program guide options. These options mayinclude: all program guides; only movies; only sports items; specials;etc., one of which may be selected by cursor movement and pressing anenter button.

Selection of a program guide option conditions the μPC 17 to request theCA₋₋ CSS byte or bytes stored by the smart card 14. The CA₋₋ CSS byte orbytes are loaded in a register within the μPC 17 for use in a comparisonfunction. The μPC 17 executes the selected program guide function. In sodoing, prior to a special guide being displayed, the PG₋₋ CSS byteassociated with the selected special guide is compared with the CA₋₋ CSSbyte or bytes stored in the register. If there is no match the guidewill not be displayed and a message may be generated indicating to theuser that that guide is not available to him. If there is a match, or ifthe PG₋₋ CSS byte corresponds to the universal access byte, the selectedguide may be displayed conditioned upon the channel information includedin the selected guide. Prior to displaying information relating to aparticular channel in the selected guide, the CI₋₋ CSS byte or codeassociated with that channel is accessed and compared with the CA₋₋ CSSbyte or bytes. If there is no match between the CA₋₋ CSS byte and theCI₋₋ CSS byte, the channel information is not displayed in the programguide. If there is a match, or if the CI₋₋ CSS byte corresponds to theuniversal access byte, the channel information will be displayed in theguide.

Similarly, if the selected program guide menu function corresponds todisplaying master guide information, before information is displayed forany channel, the CI₋₋ CSS byte associated with the channel is testedagainst the CA₋₋ CSS byte or bytes accessed from the smart card, and thechannel information is displayed or not displayed contingent upon theresults of the test.

In generating any of the available program guide displays, μPC 17 isprogrammed to search predetermined data fields of the master guide datain the rate buffer memory 15, or the special guide data in the externalDRAM 30 for types of program information desired. Each time programinformation of the desired type is found, the associated CI₋₋ CSS byteis accessed and compared against the user CA₋₋ CSS. If the comparisonindicates that the user is entitled to view the program guideinformation, the information is placed in a table in memory (for examplerate buffer memory 17) according to a predetermined format. After allrelevant stored program guide data has been searched and associated CI₋₋CSS's tested, and the allowed information placed in the table in memory,the data in the table is applied to the OSD apparatus 19. OSD 19generates the appropriate pixel/raster information for displaying theprogram guide information as text within gridlines.

An example of comparison function of the CA₋₋ CSS byte or bytes witheither CI₋₋ CSS byte or PG₋₋ CSS byte is described as follows. Assumethat a byte is N-bits and that special guides and channels/programs aregrouped into N conditional access classes. One of the classes is anunconditional access class wherein all N-bits of the CI₋₋ CSS byte orPG₋₋ CSS byte are logic zero. Each of the remaining N-1 classes areallocated an exclusive bit of the N-bit byte. For example, assume thesecond, third, and fourth most significant bits (MSB) of the N-bit byteare assigned to the first, second and third conditional access classes.A logic one in the second MSB position (with all other bits zero) of aCI₋₋ CSS or PG₋₋ CSS byte indicates that the channel/program or specialguide belongs to the first conditional access class. A logic one in thethird MSB position of a CI₋₋ CSS or PG₋₋ CSS byte indicates that thechannel/program or special guide belongs to the second CA class, etc. Auser authorized to view a particular CA class will be issued a CA₋₋ CSSbyte with logic ones in all of the bit positions corresponding to the CAclasses he is authorized to view in the program guide. In this type ofsystem comparison of the CA₋₋ CSS byte with either the CI₋₋ CSS or PG₋₋CSS type, is performed on a bit by bit basis. If the comparison resultsin a match of any one bit position, the corresponding channel/program orspecial guide may be displayed. FIG. 6 illustrates exemplary circuitryto effect this type of comparison. The CA₋₋ CSS byte from the smart cardcircuitry is stored in the register 600 and the CI₋₋ CSS or PG₋₋ CSScurrently being tested is loaded into register 601. A NOR gate 603 iscoupled to the respective bit positions of the register 601 and producesa logic one output if all bit positions exhibit a logic zero (universalaccess). The output of NOR gate 603 is coupled to one input of an ORgate 606. OR gate 606 develops the display/no display control signal.

Each bit position of the byte in register 601 is compared with thecorresponding bit position of the byte in register 602 in a plurality ofAND gates 602. If corresponding bit positions are both logic one, therespective AND gate will exhibit a logic one output signal. Outputconnection of the respective AND gates are coupled to respective inputconnection of an OR gate 605. OR gate 605 produces a logic one output ifany one of the AND gates 602 exhibits a logic one output. The outputterminal of the OR gate 605 is connected to a second input terminal ofOR gate 606. OR gate 606 will produce a logic one output, indicatingaccess to display the program/channel or special guide associated withthe conditional access byte currently being tested, if the byte has allzero bits or any one of the AND gates 602 exhibits a non zero output.

What is claimed is:
 1. A method for conveying a plurality of audio/videoprograms, and a program guide signal including data related toscheduling times and descriptive information of the respectiveaudio/video programs, comprising:providing a plurality of respectiveaudio/video packet signals corresponding to said plurality ofaudio/video programs; preparing scheduling data to produce programminginformation related to scheduling times and descriptive information ofrespective said audio/video programs; creating a master program guide byselecting data from said programming information according to apredetermined criterion, and including conditional access codewords,associated with at least some of said programming information includedin the master program guide, which conditional access codewords may beused by respective receivers for permitting or precluding display ofcorresponding programming information; forming a master program guidepacket signal from said master program guide; and forming a multiplexedsignal for transmission or storage, by multiplexing said master programguide packet signal with said audio/video packet signals.
 2. The methodset forth in claim 1 further including the steps:creating specialprogram guides by selecting data from said programming informationaccording to further respective predetermined criteria; formingrespective special program guide packet signals from said specialprogram guides; associating respective conditional access codewords withprogramming information related to at least one of respective saidspecial program guides, which conditional access codewords may be usedby respective receivers for permitting or precluding display of said atleast one of respective said special program guides; includingprogramming information related to said special program guides in saidmaster program guide; and multiplexing said master guide packet signal,said special guide packet signals and said audio/video packet signals.3. The method set forth in claim 1 wherein the step of associating aconditional access codeword, with at least some of said programminginformation included in the master program guide includes associating auniversal conditional access codeword with all programming informationallocated for unconditional display in a program guide.
 4. The method ofclaim 1 further including:generating a user specific conditional accesscodeword; forming a conditional access packet signal including said userspecific conditional access codeword; and multiplexing said conditionalaccess packet signal with said master guide packet signal and saidaudio/video packet signals.
 5. The method set forth in claim 2 furthercomprising:detecting said multiplexed signal and selecting said masterprogram guide packet signal and said special program guide packetsignals; extracting master program guide information from said masterprogram guide packet signal, and storing master program guideinformation in memory; extracting special program guide information fromsaid special program guide packet signal, and storing special programguide information in memory; providing a user specific conditionalaccess codeword; processing master program guide information for thedisplay of special program guide information, including comparingconditional access codewords associated with respective special programguides with said user specific conditional access codeword, andprecluding the display of special guide information for which thecorresponding conditional access codewords and the user specificconditional access codeword have predetermined dissimilarities.
 6. Themethod set forth in claim 1 further comprising:detecting saidmultiplexed signal and selecting said master program guide packetsignal; extracting master program guide information from said masterprogram guide packet signal, and storing master program guideinformation in memory; providing a user specific conditional accesscodeword; processing master program guide information for the display ofprogram guide information, including comparing conditional accesscodewords associated with respective audio/video programs with said userspecific conditional access codeword, and precluding the display ofprogram guide information of an audio/video program for which thecorresponding conditional access codewords and the user specificconditional access codeword have predetermined dissimilarities. 7.Apparatus for receiving a packet audio/video signal including a masterprogram guide packet signal having information related to programsavailable in said packet audio/video signal, said information related toprograms including respective conditional access codes, said apparatuscomprising:means for detecting said packet audio/video signal; memorymeans; a transport processor for selecting said master program guidepacket signal, and storing master program guide information in saidmemory means; a source of a user specific conditional access code; adisplay processor for displaying program guide information, said displayprocessor including means for accessing said conditional access codes ofrespective program information and said user specific conditional accesscode and responsive to similarities/dissimilarities between saidconditional access codes and user specific conditional access codedisplaying/not displaying the corresponding program guide information ina program guide display.
 8. The apparatus set forth in claim 7 whereinsaid packet audio/video signal further includes a plurality of specialprogram guide packet signals and said master program guide packet signalincludes information related to special program guide packet signalsincluding respective special program guide conditional access codes, andsaid display processor further comprises means responsive tosimilarities/dissimilarities between said conditional access codes andsaid user specific conditional access code, for displaying/notdisplaying the corresponding special program guide.
 9. Apparatus forreceiving a audio/video packet signal including a master program guidepacket signal and a plurality of special program guide packet signalsand wherein said master program guide packet signal includes informationrelated to special program guide packet signals including respectivespecial program guide conditional access codes, said apparatuscomprising:means for detecting said packet audio/video signal; a memory;a transport processor for selecting said master program guide packetsignal, and said plurality of special program guide packet signals, andstoring master program guide information contained in said masterprogram guide packet signal, and special program guide informationcontained is special program guide packet signals in said memory; asource of a user specific conditional access code; a display processorfor displaying program guide information, said display processorincluding means for accessing respective special program guideconditional access codes from master program guide information stored insaid memory, and accessing said user specific conditional access codefrom said source, and responsive to similarities/dissimilarities betweenrespective special program guide conditional access codes and said userspecific conditional access code, displaying/not displaying thecorresponding special program guide information in a program guidedisplay.
 10. The apparatus set forth in claim 9 wherein said audio/videopacket signal further includes a conditional access packet signalincluding information corresponding to said user specific conditionalaccess codeword CA₋₋ CSS, and said apparatus further includes:a smartcard processor for providing said user specific conditional accesscodeword CA₋₋ CSS responsive to said information included in saidconditional access packet signal; and said transport processor selectssaid conditional access packet signal from said audio/video packetsignal and provides conditional access information contained in saidconditional access packet signal to said smart card processor.
 11. Amethod of processing an audio/video packet signal including a masterprogram guide packet signal and a plurality of special program guidepacket signals and said master program guide packet signal includesinformation related to special program guide packet signals includingrespective special program guide conditional access codes, said methodcomprising the following steps:detecting said packet audio/video signaland selecting said master program guide packet signal and said specialprogram guide packet signals; extracting master program guideinformation from said master program guide packet signal, and storingmaster program guide information in memory; extracting special programguide information from said special program guide packet signal, andstoring special program guide information in memory; providing a userspecific conditional access codeword; processing master program guideinformation for the display of special program guide information,including comparing conditional access codewords associated withrespective special program guides with said user specific conditionalaccess codeword, and precluding the display of special guide informationfor which the corresponding conditional access codewords and the userspecific conditional access codeword have predetermined dissimilarities.